package cn.ronghuanet.basic.mapper;

import cn.ronghuanet.basic.query.BaseQuery;
import java.io.Serializable;
import java.util.List;

/**
 * mapper接口的公共方法
 */
public interface BaseMapper<T> {

    // 新增
    void insert(T t);

    // 修改
    void update(T t);

    // 删除 使用Serializable 到时候可以传入Long Integer String都可以 可以让接口更通用
    void removeById(Serializable id);

    // 根据ID查询
    T loadById(Serializable id);

    // 查询所有
    List<T> loadAll();

    /**
     * 批量删除
     * @param ids
     */
    void batchDelete(List<Long> ids);

    //================高级分页查询方法=========================
    long queryTotal(BaseQuery query);

    List<T> queryData(BaseQuery query);
    //================高级分页查询方法=========================

}
